package com.example.demoqiniu;

import com.google.gson.Gson;
import com.qiniu.common.QiniuException;
import com.qiniu.http.Response;
import com.qiniu.storage.Configuration;
import com.qiniu.storage.Region;
import com.qiniu.storage.UploadManager;
import com.qiniu.storage.model.DefaultPutRet;
import com.qiniu.util.Auth;


import java.io.*;
import java.io.IOException;
import java.util.UUID;
import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;
public class test {
//    public void test1(){
//        Configuration cfg = new Configuration(Region.region0());//空间的地区如华南华东
////...其他参数参考类注释
//        String a="/9j/4AAQSkZJRgABAQAAAQABAAD/2wB" +
//                "DAAUDBAQEAwUEBAQFBQUGBwwIBwcHBw8LCwkMEQ" +
//                "8SEhEPERETFhwXExQaFRERGCEYGh0dHx8fExciJCIeJBwe" +
//                "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";
//        UploadManager uploadManager = new UploadManager(cfg);
////...生成上传凭证，然后准备上传
//        String accessKey = "your access key";//你的ak
//        String secretKey = "your secret key";//你的sk
//        String bucket = "your bucket name";//你创建的空间名字
////如果是Windows情况下，格式是 D:\\qiniu\\test.png
//        String localFilePath = "/home/qiniu/test.png";//文件路径
////默认不指定key的情况下，以文件内容的hash值作为文件名
//        String key = null;
//        Auth auth = Auth.create(accessKey, secretKey);
//        String upToken = auth.uploadToken(bucket);
//        try {
//            Response response = uploadManager.put(localFilePath, key, upToken);
//            //解析上传成功的结果
//            DefaultPutRet putRet = new Gson().fromJson(response.bodyString(), DefaultPutRet.class);
//            System.out.println(putRet.key);
//            System.out.println(putRet.hash);
//        } catch (QiniuException ex) {
//            Response r = ex.response;
//            System.err.println(r.toString());
//            try {
//                System.err.println(r.bodyString());
//            } catch (QiniuException ex2) {
//                //ignore
//            }
//        }
//    }



    public static String testPrint(String localFilePath) {
        //构造一个带指定 Region 对象的配置类
        //Region.region2()对应创建的空间区域，刚刚创建空间我使用了华南，对应region2();
        Configuration cfg = new Configuration(Region.region2());
        //...其他参数参考类注释
        UploadManager uploadManager = new UploadManager(cfg);
        //...生成上传凭证，然后准备上传
        String accessKey = "BITG3xjH_kr2w7uxDiMW1udeIthyJqhLENtf-4Ks";
        String secretKey = "yjrgG_1AhJVQt4fFrb4Vd5y6Lslz7ba06fv-gaPR";
        String bucket = "dxj1016";//空间名称
        //如果是Windows情况下，格式是 D:\\qiniu\\test.png;本地文件路径
        //默认不指定key的情况下，以文件内容的hash值作为文件名
        String key = null;
        Auth auth = Auth.create(accessKey, secretKey);
        String upToken = auth.uploadToken(bucket);
        try {
            Response response = uploadManager.put(localFilePath, key, upToken);
            //解析上传成功的结果
            DefaultPutRet putRet = new Gson().fromJson(response.bodyString(), DefaultPutRet.class);
            System.out.println(putRet.key);
            System.out.println(putRet.hash);
            String url = "http://qu6hzlc6e.hn-bkt.clouddn.com/" + putRet.hash;
            return url;
        } catch (QiniuException ex) {
            Response r = ex.response;
            System.err.println(r.toString());
            try {
                System.err.println(r.bodyString());
            } catch (QiniuException ex2) {
                //ignore
            }
        }
        return null;
    }

    public static String GetImageStr()//生成base64字符串
    {//将图片文件转化为字节数组字符串，并对其进行Base64编码处理
        String imgFile = "D:\\赵丽颖\\微信图片_20200924135436.jpg";//待处理的图片
        InputStream in = null;
        byte[] data = null;
        //读取图片字节数组
        try
        {
            in = new FileInputStream(imgFile);
            data = new byte[in.available()];
            in.read(data);
            in.close();
        }
        catch (IOException e)
        {
            e.printStackTrace();
        }
        //对字节数组Base64编码
        BASE64Encoder encoder = new BASE64Encoder();
        return encoder.encode(data);//返回Base64编码过的字节数组字符串
    }


    public static String GenerateImagebendi(String imgStr)
    {  //对字节数组字符串进行Base64解码并生成图片
        if (imgStr == null) //图像数据为空
            return null;
        BASE64Decoder decoder = new BASE64Decoder();
        try
        {
            //Base64解码
            byte[] b = decoder.decodeBuffer(imgStr);
            for(int i=0;i<b.length;++i)
            {
                if(b[i]<0)
                {//调整异常数据
                    b[i]+=256;
                }
            }
            String imgFilePath = "D:\\赵丽颖\\"+System.currentTimeMillis() + UUID.randomUUID().
                    toString().replace(".", "").substring(0, 6)+".jpg";//新生成的图片
            String filePath = testPrint(imgFilePath);
            OutputStream out = new FileOutputStream(imgFilePath);
            out.write(b);
            out.flush();
            out.close();
            return filePath;
        }
        catch (Exception e)
        {
            return null;
        }
    }
//base64字符串转化成图片
//public static String GenerateImagebendi(String imgStr)
//{  //对字节数组字符串进行Base64解码并生成图片
//    if (imgStr == null) //图像数据为空
//        return null;
//    BASE64Decoder decoder = new BASE64Decoder();
//    try
//    {
//        //Base64解码
//        byte[] b = decoder.decodeBuffer(imgStr);
//        for(int i=0;i<b.length;++i)
//        {
//            if(b[i]<0)
//            {//调整异常数据
//                b[i]+=256;
//            }
//        }
//        //生成jpeg图片
////        String imgFilePath = "D:\\tupian\\new.jpg";//新生成的图片
//        String imgFilePath=testPrint();
//        OutputStream out = new FileOutputStream(imgFilePath);
//        out.write(b);
//        out.flush();
//        out.close();
//        return imgFilePath;
//    }
//    catch (Exception e)
//    {
//
//    }
//    return null;
//}

    public static void main(String[] args) {
        String strImg = GetImageStr();
        String pic = GenerateImagebendi(strImg);
        System.out.println(pic);
    }


}
